草庐IT

security - Websockets、socket.io、nodejs 和安全性

全部标签

javascript - NodeJS, Async forEachSeries 执行顺序

只是想尝试使用NodeJS的异步模块。我有以下代码。vara1=[1,2,3,4,5,6,7,8];async.forEachSeries(a1,function(n1,callback){console.log(n1);vara2=[10,11,12,13,14];async.forEachSeries(a2,function(n2,callback){console.log(n1+""+n2);callback();});callback();});我想把上面代码的处理过程打印成这样111011111211311422102112122132143310311312313314..

javascript - 我可以触发并忘记 nodejs (ES7) 中的 promise 吗?

我想用babel运行这段代码:redisClientAsync.delAsync('key');returnawaitsomeOtherAsyncFunction();在第一行没有await的异步函数中。这样可以吗?我还能如何运行我不关心的东西?我可以在没有回调的情况下触发非promise函数del('key',null)吗? 最佳答案 是的,你可以这样做,它会并行运行两个异步函数。您刚刚创建了一个promise并将其丢弃。但是,这意味着当promise被拒绝时,您不会注意到。你只会getanunhandledRejectionev

javascript - 在 node.js 上的 socket.io 上发送消息客户端-> 服务器-> 客户端

我正在使用NodeJS+Socket.IO进行简单的网页游戏。有用。为什么?这是我的server.jsvarapp=require('express').createServer();vario=require('socket.io').listen(app);io.sockets.on('connection',function(socket){socket.on('setnickname',function(nickname){socket.nickname=nickname;console.log(nickname+'justconnected!');});socket.on('

JavaScript 检测 IOS 浏览器地址导航何时出现

我在网站底部固定了两个按钮。在IOS中,这有一些不需要的行为:当用户点击按钮时,会显示“底部浏览器栏”和“地址栏”。有什么方法可以检测这些浏览器栏是“可见”还是“隐藏”?所以我可以调整按钮位置吗?在条形可见的状态下,我添加了一些额外的底部边缘,因此它们位于底部条的顶部。但是我想在条形图隐藏时进行调整。我尝试了“onresize”,尽管当栏显示或隐藏$(window).height()保持不变时会触发此事件。所以如果屏幕变大或变小,我无法用这种方法检测。有人知道解决办法吗? 最佳答案 页面的innerHeight会根据顶栏是否可见而改

javascript - Socket.configure Undefined is not a function 错误

注意:我使用的是MacOS10.10Yosemite重要说明:其他问题和答案均对我无效。我正在学习教程,这样我就可以玩多人游戏了。有一个文件,我必须下载,其中有一个game.js文件,我需要将此代码添加到:注意:我在正确的目录中正确下载了socket.io。varutil=require("util"),io=require("socket.io").listen(80);varsocket,players;functioninit(){players=[];socket=io.listen(8000);socket.configure(function(){socket.set("t

javascript - define 未在 nodejs typescript 应用程序中定义

我正在使用typescript开发nodejs应用程序,我在其中编写了一个文件server.js作为休闲:importexpress=require('express');importmongoose=require('mongoose');letapp=express();app.set('port',process.env.PORT||3000);//Setportto3000ortheprovidedPORTvariable/***Startapp*/app.listen(app.get('port'),function(){console.log(`Applisteningon

javascript - NodeJS 系统模块的文档在哪里

我看到require("sys")使用了很多,我看到有aCommonJSspecforasystemmodule但是somecodethatIsee像这样使用模块require("sys").error(e);并且错误似乎没有在CommonJS规范中列出,所以我想知道在哪里可以找到文档NodeJS使用的系统模块,自I'mnotseeingitintheNodeJSdocumentation. 最佳答案 啊,看起来模块被重命名为util所以文档位于http://nodejs.org/docs/v0.4.2/api/all.html#u

javascript - 使用 NodeJS 和 Electron 使用操作系统的默认应用程序(带有 Word 的 docx 等)打开外部文件

我正在为桌面应用程序使用NodeJS/Electron。我想做的是使用操作系统的默认应用程序打开一个文件,例如使用Word的.docx。到目前为止,我尝试过使用child_process.spawn、.exec或.execFile的方法,但我什么也没得到。这是我的实际代码:varfs=require('fs'),cp=require('child_process');cp.spawn(__dirname+'/test.docx');提前致谢。 最佳答案 使用openItem()Electron的shell模块提供的函数,例如:con

javascript - 在 NodeJS 中创建 HTTPS 客户端

我花了很多时间弄清楚如何使用Node.js(v0.3.8)安全地连接到HTTP服务器。我有以下代码:varhttp=require("http");varclient=http.createClient(443,host,/*secure=*/true);varrequest=client.request("GET",relativeUrl,{host:host});当我运行它时,我得到:node.js:116throwe;//process.nextTickerror,or'error'eventonfirsttick^Error:ParseErroratClient.onData[

javascript - 使用正则表达式验证字符串是否是 URL 安全的

我有一个网站,用户可以在其中选择用户名。目前,他们几乎可以输入任何字符,包括@!#等等我知道我可以使用正则表达式,这可能就是我要选择的。我将使用一个否定集,我假设它是正确的工具:[^@!#]那么,我怎样才能知道要放入那个集合中的所有非法字符呢?我可以开始手动放入那些显而易见的东西,例如!@#$%^&*(),但是有没有一种简单的方法可以做到这一点而无需手动将它们中的每一个都放入?我知道很多网站只允许包含字母、数字、破折号或下划线的字符串。类似的东西对我来说很管用。如有任何帮助,我们将不胜感激。谢谢S.O.! 最佳答案 不使用否定,只将